package com.zhongwang.business.module.main.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ProjectExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ProjectExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andProIdIsNull() {
            addCriterion("pro_id is null");
            return (Criteria) this;
        }

        public Criteria andProIdIsNotNull() {
            addCriterion("pro_id is not null");
            return (Criteria) this;
        }

        public Criteria andProIdEqualTo(Integer value) {
            addCriterion("pro_id =", value, "proId");
            return (Criteria) this;
        }

        public Criteria andProIdNotEqualTo(Integer value) {
            addCriterion("pro_id <>", value, "proId");
            return (Criteria) this;
        }

        public Criteria andProIdGreaterThan(Integer value) {
            addCriterion("pro_id >", value, "proId");
            return (Criteria) this;
        }

        public Criteria andProIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("pro_id >=", value, "proId");
            return (Criteria) this;
        }

        public Criteria andProIdLessThan(Integer value) {
            addCriterion("pro_id <", value, "proId");
            return (Criteria) this;
        }

        public Criteria andProIdLessThanOrEqualTo(Integer value) {
            addCriterion("pro_id <=", value, "proId");
            return (Criteria) this;
        }

        public Criteria andProIdIn(List<Integer> values) {
            addCriterion("pro_id in", values, "proId");
            return (Criteria) this;
        }

        public Criteria andProIdNotIn(List<Integer> values) {
            addCriterion("pro_id not in", values, "proId");
            return (Criteria) this;
        }

        public Criteria andProIdBetween(Integer value1, Integer value2) {
            addCriterion("pro_id between", value1, value2, "proId");
            return (Criteria) this;
        }

        public Criteria andProIdNotBetween(Integer value1, Integer value2) {
            addCriterion("pro_id not between", value1, value2, "proId");
            return (Criteria) this;
        }

        public Criteria andPreEnqIdIsNull() {
            addCriterion("pre_enq_id is null");
            return (Criteria) this;
        }

        public Criteria andPreEnqIdIsNotNull() {
            addCriterion("pre_enq_id is not null");
            return (Criteria) this;
        }

        public Criteria andPreEnqIdEqualTo(Integer value) {
            addCriterion("pre_enq_id =", value, "preEnqId");
            return (Criteria) this;
        }

        public Criteria andPreEnqIdNotEqualTo(Integer value) {
            addCriterion("pre_enq_id <>", value, "preEnqId");
            return (Criteria) this;
        }

        public Criteria andPreEnqIdGreaterThan(Integer value) {
            addCriterion("pre_enq_id >", value, "preEnqId");
            return (Criteria) this;
        }

        public Criteria andPreEnqIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("pre_enq_id >=", value, "preEnqId");
            return (Criteria) this;
        }

        public Criteria andPreEnqIdLessThan(Integer value) {
            addCriterion("pre_enq_id <", value, "preEnqId");
            return (Criteria) this;
        }

        public Criteria andPreEnqIdLessThanOrEqualTo(Integer value) {
            addCriterion("pre_enq_id <=", value, "preEnqId");
            return (Criteria) this;
        }

        public Criteria andPreEnqIdIn(List<Integer> values) {
            addCriterion("pre_enq_id in", values, "preEnqId");
            return (Criteria) this;
        }

        public Criteria andPreEnqIdNotIn(List<Integer> values) {
            addCriterion("pre_enq_id not in", values, "preEnqId");
            return (Criteria) this;
        }

        public Criteria andPreEnqIdBetween(Integer value1, Integer value2) {
            addCriterion("pre_enq_id between", value1, value2, "preEnqId");
            return (Criteria) this;
        }

        public Criteria andPreEnqIdNotBetween(Integer value1, Integer value2) {
            addCriterion("pre_enq_id not between", value1, value2, "preEnqId");
            return (Criteria) this;
        }

        public Criteria andProCodeIsNull() {
            addCriterion("pro_code is null");
            return (Criteria) this;
        }

        public Criteria andProCodeIsNotNull() {
            addCriterion("pro_code is not null");
            return (Criteria) this;
        }

        public Criteria andProCodeEqualTo(String value) {
            addCriterion("pro_code =", value, "proCode");
            return (Criteria) this;
        }

        public Criteria andProCodeNotEqualTo(String value) {
            addCriterion("pro_code <>", value, "proCode");
            return (Criteria) this;
        }

        public Criteria andProCodeGreaterThan(String value) {
            addCriterion("pro_code >", value, "proCode");
            return (Criteria) this;
        }

        public Criteria andProCodeGreaterThanOrEqualTo(String value) {
            addCriterion("pro_code >=", value, "proCode");
            return (Criteria) this;
        }

        public Criteria andProCodeLessThan(String value) {
            addCriterion("pro_code <", value, "proCode");
            return (Criteria) this;
        }

        public Criteria andProCodeLessThanOrEqualTo(String value) {
            addCriterion("pro_code <=", value, "proCode");
            return (Criteria) this;
        }

        public Criteria andProCodeLike(String value) {
            addCriterion("pro_code like", value, "proCode");
            return (Criteria) this;
        }

        public Criteria andProCodeNotLike(String value) {
            addCriterion("pro_code not like", value, "proCode");
            return (Criteria) this;
        }

        public Criteria andProCodeIn(List<String> values) {
            addCriterion("pro_code in", values, "proCode");
            return (Criteria) this;
        }

        public Criteria andProCodeNotIn(List<String> values) {
            addCriterion("pro_code not in", values, "proCode");
            return (Criteria) this;
        }

        public Criteria andProCodeBetween(String value1, String value2) {
            addCriterion("pro_code between", value1, value2, "proCode");
            return (Criteria) this;
        }

        public Criteria andProCodeNotBetween(String value1, String value2) {
            addCriterion("pro_code not between", value1, value2, "proCode");
            return (Criteria) this;
        }

        public Criteria andProClassIsNull() {
            addCriterion("pro_class is null");
            return (Criteria) this;
        }

        public Criteria andProClassIsNotNull() {
            addCriterion("pro_class is not null");
            return (Criteria) this;
        }

        public Criteria andProClassEqualTo(Integer value) {
            addCriterion("pro_class =", value, "proClass");
            return (Criteria) this;
        }

        public Criteria andProClassNotEqualTo(Integer value) {
            addCriterion("pro_class <>", value, "proClass");
            return (Criteria) this;
        }

        public Criteria andProClassGreaterThan(Integer value) {
            addCriterion("pro_class >", value, "proClass");
            return (Criteria) this;
        }

        public Criteria andProClassGreaterThanOrEqualTo(Integer value) {
            addCriterion("pro_class >=", value, "proClass");
            return (Criteria) this;
        }

        public Criteria andProClassLessThan(Integer value) {
            addCriterion("pro_class <", value, "proClass");
            return (Criteria) this;
        }

        public Criteria andProClassLessThanOrEqualTo(Integer value) {
            addCriterion("pro_class <=", value, "proClass");
            return (Criteria) this;
        }

        public Criteria andProClassIn(List<Integer> values) {
            addCriterion("pro_class in", values, "proClass");
            return (Criteria) this;
        }

        public Criteria andProClassNotIn(List<Integer> values) {
            addCriterion("pro_class not in", values, "proClass");
            return (Criteria) this;
        }

        public Criteria andProClassBetween(Integer value1, Integer value2) {
            addCriterion("pro_class between", value1, value2, "proClass");
            return (Criteria) this;
        }

        public Criteria andProClassNotBetween(Integer value1, Integer value2) {
            addCriterion("pro_class not between", value1, value2, "proClass");
            return (Criteria) this;
        }

        public Criteria andProTypeIsNull() {
            addCriterion("pro_type is null");
            return (Criteria) this;
        }

        public Criteria andProTypeIsNotNull() {
            addCriterion("pro_type is not null");
            return (Criteria) this;
        }

        public Criteria andProTypeEqualTo(Integer value) {
            addCriterion("pro_type =", value, "proType");
            return (Criteria) this;
        }

        public Criteria andProTypeNotEqualTo(Integer value) {
            addCriterion("pro_type <>", value, "proType");
            return (Criteria) this;
        }

        public Criteria andProTypeGreaterThan(Integer value) {
            addCriterion("pro_type >", value, "proType");
            return (Criteria) this;
        }

        public Criteria andProTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("pro_type >=", value, "proType");
            return (Criteria) this;
        }

        public Criteria andProTypeLessThan(Integer value) {
            addCriterion("pro_type <", value, "proType");
            return (Criteria) this;
        }

        public Criteria andProTypeLessThanOrEqualTo(Integer value) {
            addCriterion("pro_type <=", value, "proType");
            return (Criteria) this;
        }

        public Criteria andProTypeIn(List<Integer> values) {
            addCriterion("pro_type in", values, "proType");
            return (Criteria) this;
        }

        public Criteria andProTypeNotIn(List<Integer> values) {
            addCriterion("pro_type not in", values, "proType");
            return (Criteria) this;
        }

        public Criteria andProTypeBetween(Integer value1, Integer value2) {
            addCriterion("pro_type between", value1, value2, "proType");
            return (Criteria) this;
        }

        public Criteria andProTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("pro_type not between", value1, value2, "proType");
            return (Criteria) this;
        }

        public Criteria andProNameIsNull() {
            addCriterion("pro_name is null");
            return (Criteria) this;
        }

        public Criteria andProNameIsNotNull() {
            addCriterion("pro_name is not null");
            return (Criteria) this;
        }

        public Criteria andProNameEqualTo(String value) {
            addCriterion("pro_name =", value, "proName");
            return (Criteria) this;
        }

        public Criteria andProNameNotEqualTo(String value) {
            addCriterion("pro_name <>", value, "proName");
            return (Criteria) this;
        }

        public Criteria andProNameGreaterThan(String value) {
            addCriterion("pro_name >", value, "proName");
            return (Criteria) this;
        }

        public Criteria andProNameGreaterThanOrEqualTo(String value) {
            addCriterion("pro_name >=", value, "proName");
            return (Criteria) this;
        }

        public Criteria andProNameLessThan(String value) {
            addCriterion("pro_name <", value, "proName");
            return (Criteria) this;
        }

        public Criteria andProNameLessThanOrEqualTo(String value) {
            addCriterion("pro_name <=", value, "proName");
            return (Criteria) this;
        }

        public Criteria andProNameLike(String value) {
            addCriterion("pro_name like", value, "proName");
            return (Criteria) this;
        }

        public Criteria andProNameNotLike(String value) {
            addCriterion("pro_name not like", value, "proName");
            return (Criteria) this;
        }

        public Criteria andProNameIn(List<String> values) {
            addCriterion("pro_name in", values, "proName");
            return (Criteria) this;
        }

        public Criteria andProNameNotIn(List<String> values) {
            addCriterion("pro_name not in", values, "proName");
            return (Criteria) this;
        }

        public Criteria andProNameBetween(String value1, String value2) {
            addCriterion("pro_name between", value1, value2, "proName");
            return (Criteria) this;
        }

        public Criteria andProNameNotBetween(String value1, String value2) {
            addCriterion("pro_name not between", value1, value2, "proName");
            return (Criteria) this;
        }

        public Criteria andCustomerIsNull() {
            addCriterion("customer is null");
            return (Criteria) this;
        }

        public Criteria andCustomerIsNotNull() {
            addCriterion("customer is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerEqualTo(String value) {
            addCriterion("customer =", value, "customer");
            return (Criteria) this;
        }

        public Criteria andCustomerNotEqualTo(String value) {
            addCriterion("customer <>", value, "customer");
            return (Criteria) this;
        }

        public Criteria andCustomerGreaterThan(String value) {
            addCriterion("customer >", value, "customer");
            return (Criteria) this;
        }

        public Criteria andCustomerGreaterThanOrEqualTo(String value) {
            addCriterion("customer >=", value, "customer");
            return (Criteria) this;
        }

        public Criteria andCustomerLessThan(String value) {
            addCriterion("customer <", value, "customer");
            return (Criteria) this;
        }

        public Criteria andCustomerLessThanOrEqualTo(String value) {
            addCriterion("customer <=", value, "customer");
            return (Criteria) this;
        }

        public Criteria andCustomerLike(String value) {
            addCriterion("customer like", value, "customer");
            return (Criteria) this;
        }

        public Criteria andCustomerNotLike(String value) {
            addCriterion("customer not like", value, "customer");
            return (Criteria) this;
        }

        public Criteria andCustomerIn(List<String> values) {
            addCriterion("customer in", values, "customer");
            return (Criteria) this;
        }

        public Criteria andCustomerNotIn(List<String> values) {
            addCriterion("customer not in", values, "customer");
            return (Criteria) this;
        }

        public Criteria andCustomerBetween(String value1, String value2) {
            addCriterion("customer between", value1, value2, "customer");
            return (Criteria) this;
        }

        public Criteria andCustomerNotBetween(String value1, String value2) {
            addCriterion("customer not between", value1, value2, "customer");
            return (Criteria) this;
        }

        public Criteria andInsSiteIsNull() {
            addCriterion("ins_site is null");
            return (Criteria) this;
        }

        public Criteria andInsSiteIsNotNull() {
            addCriterion("ins_site is not null");
            return (Criteria) this;
        }

        public Criteria andInsSiteEqualTo(String value) {
            addCriterion("ins_site =", value, "insSite");
            return (Criteria) this;
        }

        public Criteria andInsSiteNotEqualTo(String value) {
            addCriterion("ins_site <>", value, "insSite");
            return (Criteria) this;
        }

        public Criteria andInsSiteGreaterThan(String value) {
            addCriterion("ins_site >", value, "insSite");
            return (Criteria) this;
        }

        public Criteria andInsSiteGreaterThanOrEqualTo(String value) {
            addCriterion("ins_site >=", value, "insSite");
            return (Criteria) this;
        }

        public Criteria andInsSiteLessThan(String value) {
            addCriterion("ins_site <", value, "insSite");
            return (Criteria) this;
        }

        public Criteria andInsSiteLessThanOrEqualTo(String value) {
            addCriterion("ins_site <=", value, "insSite");
            return (Criteria) this;
        }

        public Criteria andInsSiteLike(String value) {
            addCriterion("ins_site like", value, "insSite");
            return (Criteria) this;
        }

        public Criteria andInsSiteNotLike(String value) {
            addCriterion("ins_site not like", value, "insSite");
            return (Criteria) this;
        }

        public Criteria andInsSiteIn(List<String> values) {
            addCriterion("ins_site in", values, "insSite");
            return (Criteria) this;
        }

        public Criteria andInsSiteNotIn(List<String> values) {
            addCriterion("ins_site not in", values, "insSite");
            return (Criteria) this;
        }

        public Criteria andInsSiteBetween(String value1, String value2) {
            addCriterion("ins_site between", value1, value2, "insSite");
            return (Criteria) this;
        }

        public Criteria andInsSiteNotBetween(String value1, String value2) {
            addCriterion("ins_site not between", value1, value2, "insSite");
            return (Criteria) this;
        }

        public Criteria andProQtyIsNull() {
            addCriterion("pro_qty is null");
            return (Criteria) this;
        }

        public Criteria andProQtyIsNotNull() {
            addCriterion("pro_qty is not null");
            return (Criteria) this;
        }

        public Criteria andProQtyEqualTo(Integer value) {
            addCriterion("pro_qty =", value, "proQty");
            return (Criteria) this;
        }

        public Criteria andProQtyNotEqualTo(Integer value) {
            addCriterion("pro_qty <>", value, "proQty");
            return (Criteria) this;
        }

        public Criteria andProQtyGreaterThan(Integer value) {
            addCriterion("pro_qty >", value, "proQty");
            return (Criteria) this;
        }

        public Criteria andProQtyGreaterThanOrEqualTo(Integer value) {
            addCriterion("pro_qty >=", value, "proQty");
            return (Criteria) this;
        }

        public Criteria andProQtyLessThan(Integer value) {
            addCriterion("pro_qty <", value, "proQty");
            return (Criteria) this;
        }

        public Criteria andProQtyLessThanOrEqualTo(Integer value) {
            addCriterion("pro_qty <=", value, "proQty");
            return (Criteria) this;
        }

        public Criteria andProQtyIn(List<Integer> values) {
            addCriterion("pro_qty in", values, "proQty");
            return (Criteria) this;
        }

        public Criteria andProQtyNotIn(List<Integer> values) {
            addCriterion("pro_qty not in", values, "proQty");
            return (Criteria) this;
        }

        public Criteria andProQtyBetween(Integer value1, Integer value2) {
            addCriterion("pro_qty between", value1, value2, "proQty");
            return (Criteria) this;
        }

        public Criteria andProQtyNotBetween(Integer value1, Integer value2) {
            addCriterion("pro_qty not between", value1, value2, "proQty");
            return (Criteria) this;
        }

        public Criteria andProUnitIsNull() {
            addCriterion("pro_unit is null");
            return (Criteria) this;
        }

        public Criteria andProUnitIsNotNull() {
            addCriterion("pro_unit is not null");
            return (Criteria) this;
        }

        public Criteria andProUnitEqualTo(String value) {
            addCriterion("pro_unit =", value, "proUnit");
            return (Criteria) this;
        }

        public Criteria andProUnitNotEqualTo(String value) {
            addCriterion("pro_unit <>", value, "proUnit");
            return (Criteria) this;
        }

        public Criteria andProUnitGreaterThan(String value) {
            addCriterion("pro_unit >", value, "proUnit");
            return (Criteria) this;
        }

        public Criteria andProUnitGreaterThanOrEqualTo(String value) {
            addCriterion("pro_unit >=", value, "proUnit");
            return (Criteria) this;
        }

        public Criteria andProUnitLessThan(String value) {
            addCriterion("pro_unit <", value, "proUnit");
            return (Criteria) this;
        }

        public Criteria andProUnitLessThanOrEqualTo(String value) {
            addCriterion("pro_unit <=", value, "proUnit");
            return (Criteria) this;
        }

        public Criteria andProUnitLike(String value) {
            addCriterion("pro_unit like", value, "proUnit");
            return (Criteria) this;
        }

        public Criteria andProUnitNotLike(String value) {
            addCriterion("pro_unit not like", value, "proUnit");
            return (Criteria) this;
        }

        public Criteria andProUnitIn(List<String> values) {
            addCriterion("pro_unit in", values, "proUnit");
            return (Criteria) this;
        }

        public Criteria andProUnitNotIn(List<String> values) {
            addCriterion("pro_unit not in", values, "proUnit");
            return (Criteria) this;
        }

        public Criteria andProUnitBetween(String value1, String value2) {
            addCriterion("pro_unit between", value1, value2, "proUnit");
            return (Criteria) this;
        }

        public Criteria andProUnitNotBetween(String value1, String value2) {
            addCriterion("pro_unit not between", value1, value2, "proUnit");
            return (Criteria) this;
        }

        public Criteria andSpeEquipTypeIsNull() {
            addCriterion("spe_equip_type is null");
            return (Criteria) this;
        }

        public Criteria andSpeEquipTypeIsNotNull() {
            addCriterion("spe_equip_type is not null");
            return (Criteria) this;
        }

        public Criteria andSpeEquipTypeEqualTo(Integer value) {
            addCriterion("spe_equip_type =", value, "speEquipType");
            return (Criteria) this;
        }

        public Criteria andSpeEquipTypeNotEqualTo(Integer value) {
            addCriterion("spe_equip_type <>", value, "speEquipType");
            return (Criteria) this;
        }

        public Criteria andSpeEquipTypeGreaterThan(Integer value) {
            addCriterion("spe_equip_type >", value, "speEquipType");
            return (Criteria) this;
        }

        public Criteria andSpeEquipTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("spe_equip_type >=", value, "speEquipType");
            return (Criteria) this;
        }

        public Criteria andSpeEquipTypeLessThan(Integer value) {
            addCriterion("spe_equip_type <", value, "speEquipType");
            return (Criteria) this;
        }

        public Criteria andSpeEquipTypeLessThanOrEqualTo(Integer value) {
            addCriterion("spe_equip_type <=", value, "speEquipType");
            return (Criteria) this;
        }

        public Criteria andSpeEquipTypeIn(List<Integer> values) {
            addCriterion("spe_equip_type in", values, "speEquipType");
            return (Criteria) this;
        }

        public Criteria andSpeEquipTypeNotIn(List<Integer> values) {
            addCriterion("spe_equip_type not in", values, "speEquipType");
            return (Criteria) this;
        }

        public Criteria andSpeEquipTypeBetween(Integer value1, Integer value2) {
            addCriterion("spe_equip_type between", value1, value2, "speEquipType");
            return (Criteria) this;
        }

        public Criteria andSpeEquipTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("spe_equip_type not between", value1, value2, "speEquipType");
            return (Criteria) this;
        }

        public Criteria andDesignTypeIsNull() {
            addCriterion("design_type is null");
            return (Criteria) this;
        }

        public Criteria andDesignTypeIsNotNull() {
            addCriterion("design_type is not null");
            return (Criteria) this;
        }

        public Criteria andDesignTypeEqualTo(String value) {
            addCriterion("design_type =", value, "designType");
            return (Criteria) this;
        }

        public Criteria andDesignTypeNotEqualTo(String value) {
            addCriterion("design_type <>", value, "designType");
            return (Criteria) this;
        }

        public Criteria andDesignTypeGreaterThan(String value) {
            addCriterion("design_type >", value, "designType");
            return (Criteria) this;
        }

        public Criteria andDesignTypeGreaterThanOrEqualTo(String value) {
            addCriterion("design_type >=", value, "designType");
            return (Criteria) this;
        }

        public Criteria andDesignTypeLessThan(String value) {
            addCriterion("design_type <", value, "designType");
            return (Criteria) this;
        }

        public Criteria andDesignTypeLessThanOrEqualTo(String value) {
            addCriterion("design_type <=", value, "designType");
            return (Criteria) this;
        }

        public Criteria andDesignTypeLike(String value) {
            addCriterion("design_type like", value, "designType");
            return (Criteria) this;
        }

        public Criteria andDesignTypeNotLike(String value) {
            addCriterion("design_type not like", value, "designType");
            return (Criteria) this;
        }

        public Criteria andDesignTypeIn(List<String> values) {
            addCriterion("design_type in", values, "designType");
            return (Criteria) this;
        }

        public Criteria andDesignTypeNotIn(List<String> values) {
            addCriterion("design_type not in", values, "designType");
            return (Criteria) this;
        }

        public Criteria andDesignTypeBetween(String value1, String value2) {
            addCriterion("design_type between", value1, value2, "designType");
            return (Criteria) this;
        }

        public Criteria andDesignTypeNotBetween(String value1, String value2) {
            addCriterion("design_type not between", value1, value2, "designType");
            return (Criteria) this;
        }

        public Criteria andDesignIsNull() {
            addCriterion("design is null");
            return (Criteria) this;
        }

        public Criteria andDesignIsNotNull() {
            addCriterion("design is not null");
            return (Criteria) this;
        }

        public Criteria andDesignEqualTo(Integer value) {
            addCriterion("design =", value, "design");
            return (Criteria) this;
        }

        public Criteria andDesignNotEqualTo(Integer value) {
            addCriterion("design <>", value, "design");
            return (Criteria) this;
        }

        public Criteria andDesignGreaterThan(Integer value) {
            addCriterion("design >", value, "design");
            return (Criteria) this;
        }

        public Criteria andDesignGreaterThanOrEqualTo(Integer value) {
            addCriterion("design >=", value, "design");
            return (Criteria) this;
        }

        public Criteria andDesignLessThan(Integer value) {
            addCriterion("design <", value, "design");
            return (Criteria) this;
        }

        public Criteria andDesignLessThanOrEqualTo(Integer value) {
            addCriterion("design <=", value, "design");
            return (Criteria) this;
        }

        public Criteria andDesignIn(List<Integer> values) {
            addCriterion("design in", values, "design");
            return (Criteria) this;
        }

        public Criteria andDesignNotIn(List<Integer> values) {
            addCriterion("design not in", values, "design");
            return (Criteria) this;
        }

        public Criteria andDesignBetween(Integer value1, Integer value2) {
            addCriterion("design between", value1, value2, "design");
            return (Criteria) this;
        }

        public Criteria andDesignNotBetween(Integer value1, Integer value2) {
            addCriterion("design not between", value1, value2, "design");
            return (Criteria) this;
        }

        public Criteria andMeteralIsNull() {
            addCriterion("meteral is null");
            return (Criteria) this;
        }

        public Criteria andMeteralIsNotNull() {
            addCriterion("meteral is not null");
            return (Criteria) this;
        }

        public Criteria andMeteralEqualTo(Integer value) {
            addCriterion("meteral =", value, "meteral");
            return (Criteria) this;
        }

        public Criteria andMeteralNotEqualTo(Integer value) {
            addCriterion("meteral <>", value, "meteral");
            return (Criteria) this;
        }

        public Criteria andMeteralGreaterThan(Integer value) {
            addCriterion("meteral >", value, "meteral");
            return (Criteria) this;
        }

        public Criteria andMeteralGreaterThanOrEqualTo(Integer value) {
            addCriterion("meteral >=", value, "meteral");
            return (Criteria) this;
        }

        public Criteria andMeteralLessThan(Integer value) {
            addCriterion("meteral <", value, "meteral");
            return (Criteria) this;
        }

        public Criteria andMeteralLessThanOrEqualTo(Integer value) {
            addCriterion("meteral <=", value, "meteral");
            return (Criteria) this;
        }

        public Criteria andMeteralIn(List<Integer> values) {
            addCriterion("meteral in", values, "meteral");
            return (Criteria) this;
        }

        public Criteria andMeteralNotIn(List<Integer> values) {
            addCriterion("meteral not in", values, "meteral");
            return (Criteria) this;
        }

        public Criteria andMeteralBetween(Integer value1, Integer value2) {
            addCriterion("meteral between", value1, value2, "meteral");
            return (Criteria) this;
        }

        public Criteria andMeteralNotBetween(Integer value1, Integer value2) {
            addCriterion("meteral not between", value1, value2, "meteral");
            return (Criteria) this;
        }

        public Criteria andManufIsNull() {
            addCriterion("manuf is null");
            return (Criteria) this;
        }

        public Criteria andManufIsNotNull() {
            addCriterion("manuf is not null");
            return (Criteria) this;
        }

        public Criteria andManufEqualTo(Integer value) {
            addCriterion("manuf =", value, "manuf");
            return (Criteria) this;
        }

        public Criteria andManufNotEqualTo(Integer value) {
            addCriterion("manuf <>", value, "manuf");
            return (Criteria) this;
        }

        public Criteria andManufGreaterThan(Integer value) {
            addCriterion("manuf >", value, "manuf");
            return (Criteria) this;
        }

        public Criteria andManufGreaterThanOrEqualTo(Integer value) {
            addCriterion("manuf >=", value, "manuf");
            return (Criteria) this;
        }

        public Criteria andManufLessThan(Integer value) {
            addCriterion("manuf <", value, "manuf");
            return (Criteria) this;
        }

        public Criteria andManufLessThanOrEqualTo(Integer value) {
            addCriterion("manuf <=", value, "manuf");
            return (Criteria) this;
        }

        public Criteria andManufIn(List<Integer> values) {
            addCriterion("manuf in", values, "manuf");
            return (Criteria) this;
        }

        public Criteria andManufNotIn(List<Integer> values) {
            addCriterion("manuf not in", values, "manuf");
            return (Criteria) this;
        }

        public Criteria andManufBetween(Integer value1, Integer value2) {
            addCriterion("manuf between", value1, value2, "manuf");
            return (Criteria) this;
        }

        public Criteria andManufNotBetween(Integer value1, Integer value2) {
            addCriterion("manuf not between", value1, value2, "manuf");
            return (Criteria) this;
        }

        public Criteria andPackIsNull() {
            addCriterion("pack is null");
            return (Criteria) this;
        }

        public Criteria andPackIsNotNull() {
            addCriterion("pack is not null");
            return (Criteria) this;
        }

        public Criteria andPackEqualTo(Integer value) {
            addCriterion("pack =", value, "pack");
            return (Criteria) this;
        }

        public Criteria andPackNotEqualTo(Integer value) {
            addCriterion("pack <>", value, "pack");
            return (Criteria) this;
        }

        public Criteria andPackGreaterThan(Integer value) {
            addCriterion("pack >", value, "pack");
            return (Criteria) this;
        }

        public Criteria andPackGreaterThanOrEqualTo(Integer value) {
            addCriterion("pack >=", value, "pack");
            return (Criteria) this;
        }

        public Criteria andPackLessThan(Integer value) {
            addCriterion("pack <", value, "pack");
            return (Criteria) this;
        }

        public Criteria andPackLessThanOrEqualTo(Integer value) {
            addCriterion("pack <=", value, "pack");
            return (Criteria) this;
        }

        public Criteria andPackIn(List<Integer> values) {
            addCriterion("pack in", values, "pack");
            return (Criteria) this;
        }

        public Criteria andPackNotIn(List<Integer> values) {
            addCriterion("pack not in", values, "pack");
            return (Criteria) this;
        }

        public Criteria andPackBetween(Integer value1, Integer value2) {
            addCriterion("pack between", value1, value2, "pack");
            return (Criteria) this;
        }

        public Criteria andPackNotBetween(Integer value1, Integer value2) {
            addCriterion("pack not between", value1, value2, "pack");
            return (Criteria) this;
        }

        public Criteria andTransIsNull() {
            addCriterion("trans is null");
            return (Criteria) this;
        }

        public Criteria andTransIsNotNull() {
            addCriterion("trans is not null");
            return (Criteria) this;
        }

        public Criteria andTransEqualTo(Integer value) {
            addCriterion("trans =", value, "trans");
            return (Criteria) this;
        }

        public Criteria andTransNotEqualTo(Integer value) {
            addCriterion("trans <>", value, "trans");
            return (Criteria) this;
        }

        public Criteria andTransGreaterThan(Integer value) {
            addCriterion("trans >", value, "trans");
            return (Criteria) this;
        }

        public Criteria andTransGreaterThanOrEqualTo(Integer value) {
            addCriterion("trans >=", value, "trans");
            return (Criteria) this;
        }

        public Criteria andTransLessThan(Integer value) {
            addCriterion("trans <", value, "trans");
            return (Criteria) this;
        }

        public Criteria andTransLessThanOrEqualTo(Integer value) {
            addCriterion("trans <=", value, "trans");
            return (Criteria) this;
        }

        public Criteria andTransIn(List<Integer> values) {
            addCriterion("trans in", values, "trans");
            return (Criteria) this;
        }

        public Criteria andTransNotIn(List<Integer> values) {
            addCriterion("trans not in", values, "trans");
            return (Criteria) this;
        }

        public Criteria andTransBetween(Integer value1, Integer value2) {
            addCriterion("trans between", value1, value2, "trans");
            return (Criteria) this;
        }

        public Criteria andTransNotBetween(Integer value1, Integer value2) {
            addCriterion("trans not between", value1, value2, "trans");
            return (Criteria) this;
        }

        public Criteria andInstallIsNull() {
            addCriterion("install is null");
            return (Criteria) this;
        }

        public Criteria andInstallIsNotNull() {
            addCriterion("install is not null");
            return (Criteria) this;
        }

        public Criteria andInstallEqualTo(Integer value) {
            addCriterion("install =", value, "install");
            return (Criteria) this;
        }

        public Criteria andInstallNotEqualTo(Integer value) {
            addCriterion("install <>", value, "install");
            return (Criteria) this;
        }

        public Criteria andInstallGreaterThan(Integer value) {
            addCriterion("install >", value, "install");
            return (Criteria) this;
        }

        public Criteria andInstallGreaterThanOrEqualTo(Integer value) {
            addCriterion("install >=", value, "install");
            return (Criteria) this;
        }

        public Criteria andInstallLessThan(Integer value) {
            addCriterion("install <", value, "install");
            return (Criteria) this;
        }

        public Criteria andInstallLessThanOrEqualTo(Integer value) {
            addCriterion("install <=", value, "install");
            return (Criteria) this;
        }

        public Criteria andInstallIn(List<Integer> values) {
            addCriterion("install in", values, "install");
            return (Criteria) this;
        }

        public Criteria andInstallNotIn(List<Integer> values) {
            addCriterion("install not in", values, "install");
            return (Criteria) this;
        }

        public Criteria andInstallBetween(Integer value1, Integer value2) {
            addCriterion("install between", value1, value2, "install");
            return (Criteria) this;
        }

        public Criteria andInstallNotBetween(Integer value1, Integer value2) {
            addCriterion("install not between", value1, value2, "install");
            return (Criteria) this;
        }

        public Criteria andDebugIsNull() {
            addCriterion("debug is null");
            return (Criteria) this;
        }

        public Criteria andDebugIsNotNull() {
            addCriterion("debug is not null");
            return (Criteria) this;
        }

        public Criteria andDebugEqualTo(Integer value) {
            addCriterion("debug =", value, "debug");
            return (Criteria) this;
        }

        public Criteria andDebugNotEqualTo(Integer value) {
            addCriterion("debug <>", value, "debug");
            return (Criteria) this;
        }

        public Criteria andDebugGreaterThan(Integer value) {
            addCriterion("debug >", value, "debug");
            return (Criteria) this;
        }

        public Criteria andDebugGreaterThanOrEqualTo(Integer value) {
            addCriterion("debug >=", value, "debug");
            return (Criteria) this;
        }

        public Criteria andDebugLessThan(Integer value) {
            addCriterion("debug <", value, "debug");
            return (Criteria) this;
        }

        public Criteria andDebugLessThanOrEqualTo(Integer value) {
            addCriterion("debug <=", value, "debug");
            return (Criteria) this;
        }

        public Criteria andDebugIn(List<Integer> values) {
            addCriterion("debug in", values, "debug");
            return (Criteria) this;
        }

        public Criteria andDebugNotIn(List<Integer> values) {
            addCriterion("debug not in", values, "debug");
            return (Criteria) this;
        }

        public Criteria andDebugBetween(Integer value1, Integer value2) {
            addCriterion("debug between", value1, value2, "debug");
            return (Criteria) this;
        }

        public Criteria andDebugNotBetween(Integer value1, Integer value2) {
            addCriterion("debug not between", value1, value2, "debug");
            return (Criteria) this;
        }

        public Criteria andSparePartsIsNull() {
            addCriterion("spare_parts is null");
            return (Criteria) this;
        }

        public Criteria andSparePartsIsNotNull() {
            addCriterion("spare_parts is not null");
            return (Criteria) this;
        }

        public Criteria andSparePartsEqualTo(Integer value) {
            addCriterion("spare_parts =", value, "spareParts");
            return (Criteria) this;
        }

        public Criteria andSparePartsNotEqualTo(Integer value) {
            addCriterion("spare_parts <>", value, "spareParts");
            return (Criteria) this;
        }

        public Criteria andSparePartsGreaterThan(Integer value) {
            addCriterion("spare_parts >", value, "spareParts");
            return (Criteria) this;
        }

        public Criteria andSparePartsGreaterThanOrEqualTo(Integer value) {
            addCriterion("spare_parts >=", value, "spareParts");
            return (Criteria) this;
        }

        public Criteria andSparePartsLessThan(Integer value) {
            addCriterion("spare_parts <", value, "spareParts");
            return (Criteria) this;
        }

        public Criteria andSparePartsLessThanOrEqualTo(Integer value) {
            addCriterion("spare_parts <=", value, "spareParts");
            return (Criteria) this;
        }

        public Criteria andSparePartsIn(List<Integer> values) {
            addCriterion("spare_parts in", values, "spareParts");
            return (Criteria) this;
        }

        public Criteria andSparePartsNotIn(List<Integer> values) {
            addCriterion("spare_parts not in", values, "spareParts");
            return (Criteria) this;
        }

        public Criteria andSparePartsBetween(Integer value1, Integer value2) {
            addCriterion("spare_parts between", value1, value2, "spareParts");
            return (Criteria) this;
        }

        public Criteria andSparePartsNotBetween(Integer value1, Integer value2) {
            addCriterion("spare_parts not between", value1, value2, "spareParts");
            return (Criteria) this;
        }

        public Criteria andDesignStatusIsNull() {
            addCriterion("design_status is null");
            return (Criteria) this;
        }

        public Criteria andDesignStatusIsNotNull() {
            addCriterion("design_status is not null");
            return (Criteria) this;
        }

        public Criteria andDesignStatusEqualTo(Integer value) {
            addCriterion("design_status =", value, "designStatus");
            return (Criteria) this;
        }

        public Criteria andDesignStatusNotEqualTo(Integer value) {
            addCriterion("design_status <>", value, "designStatus");
            return (Criteria) this;
        }

        public Criteria andDesignStatusGreaterThan(Integer value) {
            addCriterion("design_status >", value, "designStatus");
            return (Criteria) this;
        }

        public Criteria andDesignStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("design_status >=", value, "designStatus");
            return (Criteria) this;
        }

        public Criteria andDesignStatusLessThan(Integer value) {
            addCriterion("design_status <", value, "designStatus");
            return (Criteria) this;
        }

        public Criteria andDesignStatusLessThanOrEqualTo(Integer value) {
            addCriterion("design_status <=", value, "designStatus");
            return (Criteria) this;
        }

        public Criteria andDesignStatusIn(List<Integer> values) {
            addCriterion("design_status in", values, "designStatus");
            return (Criteria) this;
        }

        public Criteria andDesignStatusNotIn(List<Integer> values) {
            addCriterion("design_status not in", values, "designStatus");
            return (Criteria) this;
        }

        public Criteria andDesignStatusBetween(Integer value1, Integer value2) {
            addCriterion("design_status between", value1, value2, "designStatus");
            return (Criteria) this;
        }

        public Criteria andDesignStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("design_status not between", value1, value2, "designStatus");
            return (Criteria) this;
        }

        public Criteria andProductStatusIsNull() {
            addCriterion("product_status is null");
            return (Criteria) this;
        }

        public Criteria andProductStatusIsNotNull() {
            addCriterion("product_status is not null");
            return (Criteria) this;
        }

        public Criteria andProductStatusEqualTo(Integer value) {
            addCriterion("product_status =", value, "productStatus");
            return (Criteria) this;
        }

        public Criteria andProductStatusNotEqualTo(Integer value) {
            addCriterion("product_status <>", value, "productStatus");
            return (Criteria) this;
        }

        public Criteria andProductStatusGreaterThan(Integer value) {
            addCriterion("product_status >", value, "productStatus");
            return (Criteria) this;
        }

        public Criteria andProductStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("product_status >=", value, "productStatus");
            return (Criteria) this;
        }

        public Criteria andProductStatusLessThan(Integer value) {
            addCriterion("product_status <", value, "productStatus");
            return (Criteria) this;
        }

        public Criteria andProductStatusLessThanOrEqualTo(Integer value) {
            addCriterion("product_status <=", value, "productStatus");
            return (Criteria) this;
        }

        public Criteria andProductStatusIn(List<Integer> values) {
            addCriterion("product_status in", values, "productStatus");
            return (Criteria) this;
        }

        public Criteria andProductStatusNotIn(List<Integer> values) {
            addCriterion("product_status not in", values, "productStatus");
            return (Criteria) this;
        }

        public Criteria andProductStatusBetween(Integer value1, Integer value2) {
            addCriterion("product_status between", value1, value2, "productStatus");
            return (Criteria) this;
        }

        public Criteria andProductStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("product_status not between", value1, value2, "productStatus");
            return (Criteria) this;
        }

        public Criteria andManufScopeIsNull() {
            addCriterion("manuf_scope is null");
            return (Criteria) this;
        }

        public Criteria andManufScopeIsNotNull() {
            addCriterion("manuf_scope is not null");
            return (Criteria) this;
        }

        public Criteria andManufScopeEqualTo(String value) {
            addCriterion("manuf_scope =", value, "manufScope");
            return (Criteria) this;
        }

        public Criteria andManufScopeNotEqualTo(String value) {
            addCriterion("manuf_scope <>", value, "manufScope");
            return (Criteria) this;
        }

        public Criteria andManufScopeGreaterThan(String value) {
            addCriterion("manuf_scope >", value, "manufScope");
            return (Criteria) this;
        }

        public Criteria andManufScopeGreaterThanOrEqualTo(String value) {
            addCriterion("manuf_scope >=", value, "manufScope");
            return (Criteria) this;
        }

        public Criteria andManufScopeLessThan(String value) {
            addCriterion("manuf_scope <", value, "manufScope");
            return (Criteria) this;
        }

        public Criteria andManufScopeLessThanOrEqualTo(String value) {
            addCriterion("manuf_scope <=", value, "manufScope");
            return (Criteria) this;
        }

        public Criteria andManufScopeLike(String value) {
            addCriterion("manuf_scope like", value, "manufScope");
            return (Criteria) this;
        }

        public Criteria andManufScopeNotLike(String value) {
            addCriterion("manuf_scope not like", value, "manufScope");
            return (Criteria) this;
        }

        public Criteria andManufScopeIn(List<String> values) {
            addCriterion("manuf_scope in", values, "manufScope");
            return (Criteria) this;
        }

        public Criteria andManufScopeNotIn(List<String> values) {
            addCriterion("manuf_scope not in", values, "manufScope");
            return (Criteria) this;
        }

        public Criteria andManufScopeBetween(String value1, String value2) {
            addCriterion("manuf_scope between", value1, value2, "manufScope");
            return (Criteria) this;
        }

        public Criteria andManufScopeNotBetween(String value1, String value2) {
            addCriterion("manuf_scope not between", value1, value2, "manufScope");
            return (Criteria) this;
        }

        public Criteria andPackReqIsNull() {
            addCriterion("pack_req is null");
            return (Criteria) this;
        }

        public Criteria andPackReqIsNotNull() {
            addCriterion("pack_req is not null");
            return (Criteria) this;
        }

        public Criteria andPackReqEqualTo(String value) {
            addCriterion("pack_req =", value, "packReq");
            return (Criteria) this;
        }

        public Criteria andPackReqNotEqualTo(String value) {
            addCriterion("pack_req <>", value, "packReq");
            return (Criteria) this;
        }

        public Criteria andPackReqGreaterThan(String value) {
            addCriterion("pack_req >", value, "packReq");
            return (Criteria) this;
        }

        public Criteria andPackReqGreaterThanOrEqualTo(String value) {
            addCriterion("pack_req >=", value, "packReq");
            return (Criteria) this;
        }

        public Criteria andPackReqLessThan(String value) {
            addCriterion("pack_req <", value, "packReq");
            return (Criteria) this;
        }

        public Criteria andPackReqLessThanOrEqualTo(String value) {
            addCriterion("pack_req <=", value, "packReq");
            return (Criteria) this;
        }

        public Criteria andPackReqLike(String value) {
            addCriterion("pack_req like", value, "packReq");
            return (Criteria) this;
        }

        public Criteria andPackReqNotLike(String value) {
            addCriterion("pack_req not like", value, "packReq");
            return (Criteria) this;
        }

        public Criteria andPackReqIn(List<String> values) {
            addCriterion("pack_req in", values, "packReq");
            return (Criteria) this;
        }

        public Criteria andPackReqNotIn(List<String> values) {
            addCriterion("pack_req not in", values, "packReq");
            return (Criteria) this;
        }

        public Criteria andPackReqBetween(String value1, String value2) {
            addCriterion("pack_req between", value1, value2, "packReq");
            return (Criteria) this;
        }

        public Criteria andPackReqNotBetween(String value1, String value2) {
            addCriterion("pack_req not between", value1, value2, "packReq");
            return (Criteria) this;
        }

        public Criteria andMainTechReqIsNull() {
            addCriterion("main_tech_req is null");
            return (Criteria) this;
        }

        public Criteria andMainTechReqIsNotNull() {
            addCriterion("main_tech_req is not null");
            return (Criteria) this;
        }

        public Criteria andMainTechReqEqualTo(String value) {
            addCriterion("main_tech_req =", value, "mainTechReq");
            return (Criteria) this;
        }

        public Criteria andMainTechReqNotEqualTo(String value) {
            addCriterion("main_tech_req <>", value, "mainTechReq");
            return (Criteria) this;
        }

        public Criteria andMainTechReqGreaterThan(String value) {
            addCriterion("main_tech_req >", value, "mainTechReq");
            return (Criteria) this;
        }

        public Criteria andMainTechReqGreaterThanOrEqualTo(String value) {
            addCriterion("main_tech_req >=", value, "mainTechReq");
            return (Criteria) this;
        }

        public Criteria andMainTechReqLessThan(String value) {
            addCriterion("main_tech_req <", value, "mainTechReq");
            return (Criteria) this;
        }

        public Criteria andMainTechReqLessThanOrEqualTo(String value) {
            addCriterion("main_tech_req <=", value, "mainTechReq");
            return (Criteria) this;
        }

        public Criteria andMainTechReqLike(String value) {
            addCriterion("main_tech_req like", value, "mainTechReq");
            return (Criteria) this;
        }

        public Criteria andMainTechReqNotLike(String value) {
            addCriterion("main_tech_req not like", value, "mainTechReq");
            return (Criteria) this;
        }

        public Criteria andMainTechReqIn(List<String> values) {
            addCriterion("main_tech_req in", values, "mainTechReq");
            return (Criteria) this;
        }

        public Criteria andMainTechReqNotIn(List<String> values) {
            addCriterion("main_tech_req not in", values, "mainTechReq");
            return (Criteria) this;
        }

        public Criteria andMainTechReqBetween(String value1, String value2) {
            addCriterion("main_tech_req between", value1, value2, "mainTechReq");
            return (Criteria) this;
        }

        public Criteria andMainTechReqNotBetween(String value1, String value2) {
            addCriterion("main_tech_req not between", value1, value2, "mainTechReq");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andPreEnqChgRmkIsNull() {
            addCriterion("pre_enq_chg_rmk is null");
            return (Criteria) this;
        }

        public Criteria andPreEnqChgRmkIsNotNull() {
            addCriterion("pre_enq_chg_rmk is not null");
            return (Criteria) this;
        }

        public Criteria andPreEnqChgRmkEqualTo(String value) {
            addCriterion("pre_enq_chg_rmk =", value, "preEnqChgRmk");
            return (Criteria) this;
        }

        public Criteria andPreEnqChgRmkNotEqualTo(String value) {
            addCriterion("pre_enq_chg_rmk <>", value, "preEnqChgRmk");
            return (Criteria) this;
        }

        public Criteria andPreEnqChgRmkGreaterThan(String value) {
            addCriterion("pre_enq_chg_rmk >", value, "preEnqChgRmk");
            return (Criteria) this;
        }

        public Criteria andPreEnqChgRmkGreaterThanOrEqualTo(String value) {
            addCriterion("pre_enq_chg_rmk >=", value, "preEnqChgRmk");
            return (Criteria) this;
        }

        public Criteria andPreEnqChgRmkLessThan(String value) {
            addCriterion("pre_enq_chg_rmk <", value, "preEnqChgRmk");
            return (Criteria) this;
        }

        public Criteria andPreEnqChgRmkLessThanOrEqualTo(String value) {
            addCriterion("pre_enq_chg_rmk <=", value, "preEnqChgRmk");
            return (Criteria) this;
        }

        public Criteria andPreEnqChgRmkLike(String value) {
            addCriterion("pre_enq_chg_rmk like", value, "preEnqChgRmk");
            return (Criteria) this;
        }

        public Criteria andPreEnqChgRmkNotLike(String value) {
            addCriterion("pre_enq_chg_rmk not like", value, "preEnqChgRmk");
            return (Criteria) this;
        }

        public Criteria andPreEnqChgRmkIn(List<String> values) {
            addCriterion("pre_enq_chg_rmk in", values, "preEnqChgRmk");
            return (Criteria) this;
        }

        public Criteria andPreEnqChgRmkNotIn(List<String> values) {
            addCriterion("pre_enq_chg_rmk not in", values, "preEnqChgRmk");
            return (Criteria) this;
        }

        public Criteria andPreEnqChgRmkBetween(String value1, String value2) {
            addCriterion("pre_enq_chg_rmk between", value1, value2, "preEnqChgRmk");
            return (Criteria) this;
        }

        public Criteria andPreEnqChgRmkNotBetween(String value1, String value2) {
            addCriterion("pre_enq_chg_rmk not between", value1, value2, "preEnqChgRmk");
            return (Criteria) this;
        }

        public Criteria andProNameDespIsNull() {
            addCriterion("pro_name_desp is null");
            return (Criteria) this;
        }

        public Criteria andProNameDespIsNotNull() {
            addCriterion("pro_name_desp is not null");
            return (Criteria) this;
        }

        public Criteria andProNameDespEqualTo(String value) {
            addCriterion("pro_name_desp =", value, "proNameDesp");
            return (Criteria) this;
        }

        public Criteria andProNameDespNotEqualTo(String value) {
            addCriterion("pro_name_desp <>", value, "proNameDesp");
            return (Criteria) this;
        }

        public Criteria andProNameDespGreaterThan(String value) {
            addCriterion("pro_name_desp >", value, "proNameDesp");
            return (Criteria) this;
        }

        public Criteria andProNameDespGreaterThanOrEqualTo(String value) {
            addCriterion("pro_name_desp >=", value, "proNameDesp");
            return (Criteria) this;
        }

        public Criteria andProNameDespLessThan(String value) {
            addCriterion("pro_name_desp <", value, "proNameDesp");
            return (Criteria) this;
        }

        public Criteria andProNameDespLessThanOrEqualTo(String value) {
            addCriterion("pro_name_desp <=", value, "proNameDesp");
            return (Criteria) this;
        }

        public Criteria andProNameDespLike(String value) {
            addCriterion("pro_name_desp like", value, "proNameDesp");
            return (Criteria) this;
        }

        public Criteria andProNameDespNotLike(String value) {
            addCriterion("pro_name_desp not like", value, "proNameDesp");
            return (Criteria) this;
        }

        public Criteria andProNameDespIn(List<String> values) {
            addCriterion("pro_name_desp in", values, "proNameDesp");
            return (Criteria) this;
        }

        public Criteria andProNameDespNotIn(List<String> values) {
            addCriterion("pro_name_desp not in", values, "proNameDesp");
            return (Criteria) this;
        }

        public Criteria andProNameDespBetween(String value1, String value2) {
            addCriterion("pro_name_desp between", value1, value2, "proNameDesp");
            return (Criteria) this;
        }

        public Criteria andProNameDespNotBetween(String value1, String value2) {
            addCriterion("pro_name_desp not between", value1, value2, "proNameDesp");
            return (Criteria) this;
        }

        public Criteria andApplyProdAccountIsNull() {
            addCriterion("apply_prod_account is null");
            return (Criteria) this;
        }

        public Criteria andApplyProdAccountIsNotNull() {
            addCriterion("apply_prod_account is not null");
            return (Criteria) this;
        }

        public Criteria andApplyProdAccountEqualTo(String value) {
            addCriterion("apply_prod_account =", value, "applyProdAccount");
            return (Criteria) this;
        }

        public Criteria andApplyProdAccountNotEqualTo(String value) {
            addCriterion("apply_prod_account <>", value, "applyProdAccount");
            return (Criteria) this;
        }

        public Criteria andApplyProdAccountGreaterThan(String value) {
            addCriterion("apply_prod_account >", value, "applyProdAccount");
            return (Criteria) this;
        }

        public Criteria andApplyProdAccountGreaterThanOrEqualTo(String value) {
            addCriterion("apply_prod_account >=", value, "applyProdAccount");
            return (Criteria) this;
        }

        public Criteria andApplyProdAccountLessThan(String value) {
            addCriterion("apply_prod_account <", value, "applyProdAccount");
            return (Criteria) this;
        }

        public Criteria andApplyProdAccountLessThanOrEqualTo(String value) {
            addCriterion("apply_prod_account <=", value, "applyProdAccount");
            return (Criteria) this;
        }

        public Criteria andApplyProdAccountLike(String value) {
            addCriterion("apply_prod_account like", value, "applyProdAccount");
            return (Criteria) this;
        }

        public Criteria andApplyProdAccountNotLike(String value) {
            addCriterion("apply_prod_account not like", value, "applyProdAccount");
            return (Criteria) this;
        }

        public Criteria andApplyProdAccountIn(List<String> values) {
            addCriterion("apply_prod_account in", values, "applyProdAccount");
            return (Criteria) this;
        }

        public Criteria andApplyProdAccountNotIn(List<String> values) {
            addCriterion("apply_prod_account not in", values, "applyProdAccount");
            return (Criteria) this;
        }

        public Criteria andApplyProdAccountBetween(String value1, String value2) {
            addCriterion("apply_prod_account between", value1, value2, "applyProdAccount");
            return (Criteria) this;
        }

        public Criteria andApplyProdAccountNotBetween(String value1, String value2) {
            addCriterion("apply_prod_account not between", value1, value2, "applyProdAccount");
            return (Criteria) this;
        }

        public Criteria andApplyProdDateIsNull() {
            addCriterion("apply_prod_date is null");
            return (Criteria) this;
        }

        public Criteria andApplyProdDateIsNotNull() {
            addCriterion("apply_prod_date is not null");
            return (Criteria) this;
        }

        public Criteria andApplyProdDateEqualTo(Date value) {
            addCriterion("apply_prod_date =", value, "applyProdDate");
            return (Criteria) this;
        }

        public Criteria andApplyProdDateNotEqualTo(Date value) {
            addCriterion("apply_prod_date <>", value, "applyProdDate");
            return (Criteria) this;
        }

        public Criteria andApplyProdDateGreaterThan(Date value) {
            addCriterion("apply_prod_date >", value, "applyProdDate");
            return (Criteria) this;
        }

        public Criteria andApplyProdDateGreaterThanOrEqualTo(Date value) {
            addCriterion("apply_prod_date >=", value, "applyProdDate");
            return (Criteria) this;
        }

        public Criteria andApplyProdDateLessThan(Date value) {
            addCriterion("apply_prod_date <", value, "applyProdDate");
            return (Criteria) this;
        }

        public Criteria andApplyProdDateLessThanOrEqualTo(Date value) {
            addCriterion("apply_prod_date <=", value, "applyProdDate");
            return (Criteria) this;
        }

        public Criteria andApplyProdDateIn(List<Date> values) {
            addCriterion("apply_prod_date in", values, "applyProdDate");
            return (Criteria) this;
        }

        public Criteria andApplyProdDateNotIn(List<Date> values) {
            addCriterion("apply_prod_date not in", values, "applyProdDate");
            return (Criteria) this;
        }

        public Criteria andApplyProdDateBetween(Date value1, Date value2) {
            addCriterion("apply_prod_date between", value1, value2, "applyProdDate");
            return (Criteria) this;
        }

        public Criteria andApplyProdDateNotBetween(Date value1, Date value2) {
            addCriterion("apply_prod_date not between", value1, value2, "applyProdDate");
            return (Criteria) this;
        }

        public Criteria andApplyProdStatusIsNull() {
            addCriterion("apply_prod_status is null");
            return (Criteria) this;
        }

        public Criteria andApplyProdStatusIsNotNull() {
            addCriterion("apply_prod_status is not null");
            return (Criteria) this;
        }

        public Criteria andApplyProdStatusEqualTo(Integer value) {
            addCriterion("apply_prod_status =", value, "applyProdStatus");
            return (Criteria) this;
        }

        public Criteria andApplyProdStatusNotEqualTo(Integer value) {
            addCriterion("apply_prod_status <>", value, "applyProdStatus");
            return (Criteria) this;
        }

        public Criteria andApplyProdStatusGreaterThan(Integer value) {
            addCriterion("apply_prod_status >", value, "applyProdStatus");
            return (Criteria) this;
        }

        public Criteria andApplyProdStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("apply_prod_status >=", value, "applyProdStatus");
            return (Criteria) this;
        }

        public Criteria andApplyProdStatusLessThan(Integer value) {
            addCriterion("apply_prod_status <", value, "applyProdStatus");
            return (Criteria) this;
        }

        public Criteria andApplyProdStatusLessThanOrEqualTo(Integer value) {
            addCriterion("apply_prod_status <=", value, "applyProdStatus");
            return (Criteria) this;
        }

        public Criteria andApplyProdStatusIn(List<Integer> values) {
            addCriterion("apply_prod_status in", values, "applyProdStatus");
            return (Criteria) this;
        }

        public Criteria andApplyProdStatusNotIn(List<Integer> values) {
            addCriterion("apply_prod_status not in", values, "applyProdStatus");
            return (Criteria) this;
        }

        public Criteria andApplyProdStatusBetween(Integer value1, Integer value2) {
            addCriterion("apply_prod_status between", value1, value2, "applyProdStatus");
            return (Criteria) this;
        }

        public Criteria andApplyProdStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("apply_prod_status not between", value1, value2, "applyProdStatus");
            return (Criteria) this;
        }

        public Criteria andTechAccountApproveProdIsNull() {
            addCriterion("tech_account_approve_prod is null");
            return (Criteria) this;
        }

        public Criteria andTechAccountApproveProdIsNotNull() {
            addCriterion("tech_account_approve_prod is not null");
            return (Criteria) this;
        }

        public Criteria andTechAccountApproveProdEqualTo(String value) {
            addCriterion("tech_account_approve_prod =", value, "techAccountApproveProd");
            return (Criteria) this;
        }

        public Criteria andTechAccountApproveProdNotEqualTo(String value) {
            addCriterion("tech_account_approve_prod <>", value, "techAccountApproveProd");
            return (Criteria) this;
        }

        public Criteria andTechAccountApproveProdGreaterThan(String value) {
            addCriterion("tech_account_approve_prod >", value, "techAccountApproveProd");
            return (Criteria) this;
        }

        public Criteria andTechAccountApproveProdGreaterThanOrEqualTo(String value) {
            addCriterion("tech_account_approve_prod >=", value, "techAccountApproveProd");
            return (Criteria) this;
        }

        public Criteria andTechAccountApproveProdLessThan(String value) {
            addCriterion("tech_account_approve_prod <", value, "techAccountApproveProd");
            return (Criteria) this;
        }

        public Criteria andTechAccountApproveProdLessThanOrEqualTo(String value) {
            addCriterion("tech_account_approve_prod <=", value, "techAccountApproveProd");
            return (Criteria) this;
        }

        public Criteria andTechAccountApproveProdLike(String value) {
            addCriterion("tech_account_approve_prod like", value, "techAccountApproveProd");
            return (Criteria) this;
        }

        public Criteria andTechAccountApproveProdNotLike(String value) {
            addCriterion("tech_account_approve_prod not like", value, "techAccountApproveProd");
            return (Criteria) this;
        }

        public Criteria andTechAccountApproveProdIn(List<String> values) {
            addCriterion("tech_account_approve_prod in", values, "techAccountApproveProd");
            return (Criteria) this;
        }

        public Criteria andTechAccountApproveProdNotIn(List<String> values) {
            addCriterion("tech_account_approve_prod not in", values, "techAccountApproveProd");
            return (Criteria) this;
        }

        public Criteria andTechAccountApproveProdBetween(String value1, String value2) {
            addCriterion("tech_account_approve_prod between", value1, value2, "techAccountApproveProd");
            return (Criteria) this;
        }

        public Criteria andTechAccountApproveProdNotBetween(String value1, String value2) {
            addCriterion("tech_account_approve_prod not between", value1, value2, "techAccountApproveProd");
            return (Criteria) this;
        }

        public Criteria andTechApproveProdDateIsNull() {
            addCriterion("tech_approve_prod_date is null");
            return (Criteria) this;
        }

        public Criteria andTechApproveProdDateIsNotNull() {
            addCriterion("tech_approve_prod_date is not null");
            return (Criteria) this;
        }

        public Criteria andTechApproveProdDateEqualTo(Date value) {
            addCriterion("tech_approve_prod_date =", value, "techApproveProdDate");
            return (Criteria) this;
        }

        public Criteria andTechApproveProdDateNotEqualTo(Date value) {
            addCriterion("tech_approve_prod_date <>", value, "techApproveProdDate");
            return (Criteria) this;
        }

        public Criteria andTechApproveProdDateGreaterThan(Date value) {
            addCriterion("tech_approve_prod_date >", value, "techApproveProdDate");
            return (Criteria) this;
        }

        public Criteria andTechApproveProdDateGreaterThanOrEqualTo(Date value) {
            addCriterion("tech_approve_prod_date >=", value, "techApproveProdDate");
            return (Criteria) this;
        }

        public Criteria andTechApproveProdDateLessThan(Date value) {
            addCriterion("tech_approve_prod_date <", value, "techApproveProdDate");
            return (Criteria) this;
        }

        public Criteria andTechApproveProdDateLessThanOrEqualTo(Date value) {
            addCriterion("tech_approve_prod_date <=", value, "techApproveProdDate");
            return (Criteria) this;
        }

        public Criteria andTechApproveProdDateIn(List<Date> values) {
            addCriterion("tech_approve_prod_date in", values, "techApproveProdDate");
            return (Criteria) this;
        }

        public Criteria andTechApproveProdDateNotIn(List<Date> values) {
            addCriterion("tech_approve_prod_date not in", values, "techApproveProdDate");
            return (Criteria) this;
        }

        public Criteria andTechApproveProdDateBetween(Date value1, Date value2) {
            addCriterion("tech_approve_prod_date between", value1, value2, "techApproveProdDate");
            return (Criteria) this;
        }

        public Criteria andTechApproveProdDateNotBetween(Date value1, Date value2) {
            addCriterion("tech_approve_prod_date not between", value1, value2, "techApproveProdDate");
            return (Criteria) this;
        }

        public Criteria andTechApproveProdStatusIsNull() {
            addCriterion("tech_approve_prod_status is null");
            return (Criteria) this;
        }

        public Criteria andTechApproveProdStatusIsNotNull() {
            addCriterion("tech_approve_prod_status is not null");
            return (Criteria) this;
        }

        public Criteria andTechApproveProdStatusEqualTo(Integer value) {
            addCriterion("tech_approve_prod_status =", value, "techApproveProdStatus");
            return (Criteria) this;
        }

        public Criteria andTechApproveProdStatusNotEqualTo(Integer value) {
            addCriterion("tech_approve_prod_status <>", value, "techApproveProdStatus");
            return (Criteria) this;
        }

        public Criteria andTechApproveProdStatusGreaterThan(Integer value) {
            addCriterion("tech_approve_prod_status >", value, "techApproveProdStatus");
            return (Criteria) this;
        }

        public Criteria andTechApproveProdStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("tech_approve_prod_status >=", value, "techApproveProdStatus");
            return (Criteria) this;
        }

        public Criteria andTechApproveProdStatusLessThan(Integer value) {
            addCriterion("tech_approve_prod_status <", value, "techApproveProdStatus");
            return (Criteria) this;
        }

        public Criteria andTechApproveProdStatusLessThanOrEqualTo(Integer value) {
            addCriterion("tech_approve_prod_status <=", value, "techApproveProdStatus");
            return (Criteria) this;
        }

        public Criteria andTechApproveProdStatusIn(List<Integer> values) {
            addCriterion("tech_approve_prod_status in", values, "techApproveProdStatus");
            return (Criteria) this;
        }

        public Criteria andTechApproveProdStatusNotIn(List<Integer> values) {
            addCriterion("tech_approve_prod_status not in", values, "techApproveProdStatus");
            return (Criteria) this;
        }

        public Criteria andTechApproveProdStatusBetween(Integer value1, Integer value2) {
            addCriterion("tech_approve_prod_status between", value1, value2, "techApproveProdStatus");
            return (Criteria) this;
        }

        public Criteria andTechApproveProdStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("tech_approve_prod_status not between", value1, value2, "techApproveProdStatus");
            return (Criteria) this;
        }

        public Criteria andProdAccountApproveProdIsNull() {
            addCriterion("prod_account_approve_prod is null");
            return (Criteria) this;
        }

        public Criteria andProdAccountApproveProdIsNotNull() {
            addCriterion("prod_account_approve_prod is not null");
            return (Criteria) this;
        }

        public Criteria andProdAccountApproveProdEqualTo(String value) {
            addCriterion("prod_account_approve_prod =", value, "prodAccountApproveProd");
            return (Criteria) this;
        }

        public Criteria andProdAccountApproveProdNotEqualTo(String value) {
            addCriterion("prod_account_approve_prod <>", value, "prodAccountApproveProd");
            return (Criteria) this;
        }

        public Criteria andProdAccountApproveProdGreaterThan(String value) {
            addCriterion("prod_account_approve_prod >", value, "prodAccountApproveProd");
            return (Criteria) this;
        }

        public Criteria andProdAccountApproveProdGreaterThanOrEqualTo(String value) {
            addCriterion("prod_account_approve_prod >=", value, "prodAccountApproveProd");
            return (Criteria) this;
        }

        public Criteria andProdAccountApproveProdLessThan(String value) {
            addCriterion("prod_account_approve_prod <", value, "prodAccountApproveProd");
            return (Criteria) this;
        }

        public Criteria andProdAccountApproveProdLessThanOrEqualTo(String value) {
            addCriterion("prod_account_approve_prod <=", value, "prodAccountApproveProd");
            return (Criteria) this;
        }

        public Criteria andProdAccountApproveProdLike(String value) {
            addCriterion("prod_account_approve_prod like", value, "prodAccountApproveProd");
            return (Criteria) this;
        }

        public Criteria andProdAccountApproveProdNotLike(String value) {
            addCriterion("prod_account_approve_prod not like", value, "prodAccountApproveProd");
            return (Criteria) this;
        }

        public Criteria andProdAccountApproveProdIn(List<String> values) {
            addCriterion("prod_account_approve_prod in", values, "prodAccountApproveProd");
            return (Criteria) this;
        }

        public Criteria andProdAccountApproveProdNotIn(List<String> values) {
            addCriterion("prod_account_approve_prod not in", values, "prodAccountApproveProd");
            return (Criteria) this;
        }

        public Criteria andProdAccountApproveProdBetween(String value1, String value2) {
            addCriterion("prod_account_approve_prod between", value1, value2, "prodAccountApproveProd");
            return (Criteria) this;
        }

        public Criteria andProdAccountApproveProdNotBetween(String value1, String value2) {
            addCriterion("prod_account_approve_prod not between", value1, value2, "prodAccountApproveProd");
            return (Criteria) this;
        }

        public Criteria andProdApproveProdDateIsNull() {
            addCriterion("prod_approve_prod_date is null");
            return (Criteria) this;
        }

        public Criteria andProdApproveProdDateIsNotNull() {
            addCriterion("prod_approve_prod_date is not null");
            return (Criteria) this;
        }

        public Criteria andProdApproveProdDateEqualTo(Date value) {
            addCriterion("prod_approve_prod_date =", value, "prodApproveProdDate");
            return (Criteria) this;
        }

        public Criteria andProdApproveProdDateNotEqualTo(Date value) {
            addCriterion("prod_approve_prod_date <>", value, "prodApproveProdDate");
            return (Criteria) this;
        }

        public Criteria andProdApproveProdDateGreaterThan(Date value) {
            addCriterion("prod_approve_prod_date >", value, "prodApproveProdDate");
            return (Criteria) this;
        }

        public Criteria andProdApproveProdDateGreaterThanOrEqualTo(Date value) {
            addCriterion("prod_approve_prod_date >=", value, "prodApproveProdDate");
            return (Criteria) this;
        }

        public Criteria andProdApproveProdDateLessThan(Date value) {
            addCriterion("prod_approve_prod_date <", value, "prodApproveProdDate");
            return (Criteria) this;
        }

        public Criteria andProdApproveProdDateLessThanOrEqualTo(Date value) {
            addCriterion("prod_approve_prod_date <=", value, "prodApproveProdDate");
            return (Criteria) this;
        }

        public Criteria andProdApproveProdDateIn(List<Date> values) {
            addCriterion("prod_approve_prod_date in", values, "prodApproveProdDate");
            return (Criteria) this;
        }

        public Criteria andProdApproveProdDateNotIn(List<Date> values) {
            addCriterion("prod_approve_prod_date not in", values, "prodApproveProdDate");
            return (Criteria) this;
        }

        public Criteria andProdApproveProdDateBetween(Date value1, Date value2) {
            addCriterion("prod_approve_prod_date between", value1, value2, "prodApproveProdDate");
            return (Criteria) this;
        }

        public Criteria andProdApproveProdDateNotBetween(Date value1, Date value2) {
            addCriterion("prod_approve_prod_date not between", value1, value2, "prodApproveProdDate");
            return (Criteria) this;
        }

        public Criteria andProdApproveProdStatusIsNull() {
            addCriterion("prod_approve_prod_status is null");
            return (Criteria) this;
        }

        public Criteria andProdApproveProdStatusIsNotNull() {
            addCriterion("prod_approve_prod_status is not null");
            return (Criteria) this;
        }

        public Criteria andProdApproveProdStatusEqualTo(Integer value) {
            addCriterion("prod_approve_prod_status =", value, "prodApproveProdStatus");
            return (Criteria) this;
        }

        public Criteria andProdApproveProdStatusNotEqualTo(Integer value) {
            addCriterion("prod_approve_prod_status <>", value, "prodApproveProdStatus");
            return (Criteria) this;
        }

        public Criteria andProdApproveProdStatusGreaterThan(Integer value) {
            addCriterion("prod_approve_prod_status >", value, "prodApproveProdStatus");
            return (Criteria) this;
        }

        public Criteria andProdApproveProdStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("prod_approve_prod_status >=", value, "prodApproveProdStatus");
            return (Criteria) this;
        }

        public Criteria andProdApproveProdStatusLessThan(Integer value) {
            addCriterion("prod_approve_prod_status <", value, "prodApproveProdStatus");
            return (Criteria) this;
        }

        public Criteria andProdApproveProdStatusLessThanOrEqualTo(Integer value) {
            addCriterion("prod_approve_prod_status <=", value, "prodApproveProdStatus");
            return (Criteria) this;
        }

        public Criteria andProdApproveProdStatusIn(List<Integer> values) {
            addCriterion("prod_approve_prod_status in", values, "prodApproveProdStatus");
            return (Criteria) this;
        }

        public Criteria andProdApproveProdStatusNotIn(List<Integer> values) {
            addCriterion("prod_approve_prod_status not in", values, "prodApproveProdStatus");
            return (Criteria) this;
        }

        public Criteria andProdApproveProdStatusBetween(Integer value1, Integer value2) {
            addCriterion("prod_approve_prod_status between", value1, value2, "prodApproveProdStatus");
            return (Criteria) this;
        }

        public Criteria andProdApproveProdStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("prod_approve_prod_status not between", value1, value2, "prodApproveProdStatus");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNull() {
            addCriterion("create_date is null");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNotNull() {
            addCriterion("create_date is not null");
            return (Criteria) this;
        }

        public Criteria andCreateDateEqualTo(Date value) {
            addCriterion("create_date =", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotEqualTo(Date value) {
            addCriterion("create_date <>", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThan(Date value) {
            addCriterion("create_date >", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThanOrEqualTo(Date value) {
            addCriterion("create_date >=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThan(Date value) {
            addCriterion("create_date <", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThanOrEqualTo(Date value) {
            addCriterion("create_date <=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateIn(List<Date> values) {
            addCriterion("create_date in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotIn(List<Date> values) {
            addCriterion("create_date not in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateBetween(Date value1, Date value2) {
            addCriterion("create_date between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotBetween(Date value1, Date value2) {
            addCriterion("create_date not between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateNameIsNull() {
            addCriterion("create_name is null");
            return (Criteria) this;
        }

        public Criteria andCreateNameIsNotNull() {
            addCriterion("create_name is not null");
            return (Criteria) this;
        }

        public Criteria andCreateNameEqualTo(String value) {
            addCriterion("create_name =", value, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameNotEqualTo(String value) {
            addCriterion("create_name <>", value, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameGreaterThan(String value) {
            addCriterion("create_name >", value, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameGreaterThanOrEqualTo(String value) {
            addCriterion("create_name >=", value, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameLessThan(String value) {
            addCriterion("create_name <", value, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameLessThanOrEqualTo(String value) {
            addCriterion("create_name <=", value, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameLike(String value) {
            addCriterion("create_name like", value, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameNotLike(String value) {
            addCriterion("create_name not like", value, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameIn(List<String> values) {
            addCriterion("create_name in", values, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameNotIn(List<String> values) {
            addCriterion("create_name not in", values, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameBetween(String value1, String value2) {
            addCriterion("create_name between", value1, value2, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameNotBetween(String value1, String value2) {
            addCriterion("create_name not between", value1, value2, "createName");
            return (Criteria) this;
        }

        public Criteria andProCancelMarkIsNull() {
            addCriterion("pro_cancel_mark is null");
            return (Criteria) this;
        }

        public Criteria andProCancelMarkIsNotNull() {
            addCriterion("pro_cancel_mark is not null");
            return (Criteria) this;
        }

        public Criteria andProCancelMarkEqualTo(Integer value) {
            addCriterion("pro_cancel_mark =", value, "proCancelMark");
            return (Criteria) this;
        }

        public Criteria andProCancelMarkNotEqualTo(Integer value) {
            addCriterion("pro_cancel_mark <>", value, "proCancelMark");
            return (Criteria) this;
        }

        public Criteria andProCancelMarkGreaterThan(Integer value) {
            addCriterion("pro_cancel_mark >", value, "proCancelMark");
            return (Criteria) this;
        }

        public Criteria andProCancelMarkGreaterThanOrEqualTo(Integer value) {
            addCriterion("pro_cancel_mark >=", value, "proCancelMark");
            return (Criteria) this;
        }

        public Criteria andProCancelMarkLessThan(Integer value) {
            addCriterion("pro_cancel_mark <", value, "proCancelMark");
            return (Criteria) this;
        }

        public Criteria andProCancelMarkLessThanOrEqualTo(Integer value) {
            addCriterion("pro_cancel_mark <=", value, "proCancelMark");
            return (Criteria) this;
        }

        public Criteria andProCancelMarkIn(List<Integer> values) {
            addCriterion("pro_cancel_mark in", values, "proCancelMark");
            return (Criteria) this;
        }

        public Criteria andProCancelMarkNotIn(List<Integer> values) {
            addCriterion("pro_cancel_mark not in", values, "proCancelMark");
            return (Criteria) this;
        }

        public Criteria andProCancelMarkBetween(Integer value1, Integer value2) {
            addCriterion("pro_cancel_mark between", value1, value2, "proCancelMark");
            return (Criteria) this;
        }

        public Criteria andProCancelMarkNotBetween(Integer value1, Integer value2) {
            addCriterion("pro_cancel_mark not between", value1, value2, "proCancelMark");
            return (Criteria) this;
        }

        public Criteria andProStatusIsNull() {
            addCriterion("pro_status is null");
            return (Criteria) this;
        }

        public Criteria andProStatusIsNotNull() {
            addCriterion("pro_status is not null");
            return (Criteria) this;
        }

        public Criteria andProStatusEqualTo(Integer value) {
            addCriterion("pro_status =", value, "proStatus");
            return (Criteria) this;
        }

        public Criteria andProStatusNotEqualTo(Integer value) {
            addCriterion("pro_status <>", value, "proStatus");
            return (Criteria) this;
        }

        public Criteria andProStatusGreaterThan(Integer value) {
            addCriterion("pro_status >", value, "proStatus");
            return (Criteria) this;
        }

        public Criteria andProStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("pro_status >=", value, "proStatus");
            return (Criteria) this;
        }

        public Criteria andProStatusLessThan(Integer value) {
            addCriterion("pro_status <", value, "proStatus");
            return (Criteria) this;
        }

        public Criteria andProStatusLessThanOrEqualTo(Integer value) {
            addCriterion("pro_status <=", value, "proStatus");
            return (Criteria) this;
        }

        public Criteria andProStatusIn(List<Integer> values) {
            addCriterion("pro_status in", values, "proStatus");
            return (Criteria) this;
        }

        public Criteria andProStatusNotIn(List<Integer> values) {
            addCriterion("pro_status not in", values, "proStatus");
            return (Criteria) this;
        }

        public Criteria andProStatusBetween(Integer value1, Integer value2) {
            addCriterion("pro_status between", value1, value2, "proStatus");
            return (Criteria) this;
        }

        public Criteria andProStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("pro_status not between", value1, value2, "proStatus");
            return (Criteria) this;
        }

        public Criteria andProTechAgreementIsNull() {
            addCriterion("pro_tech_agreement is null");
            return (Criteria) this;
        }

        public Criteria andProTechAgreementIsNotNull() {
            addCriterion("pro_tech_agreement is not null");
            return (Criteria) this;
        }

        public Criteria andProTechAgreementEqualTo(Integer value) {
            addCriterion("pro_tech_agreement =", value, "proTechAgreement");
            return (Criteria) this;
        }

        public Criteria andProTechAgreementNotEqualTo(Integer value) {
            addCriterion("pro_tech_agreement <>", value, "proTechAgreement");
            return (Criteria) this;
        }

        public Criteria andProTechAgreementGreaterThan(Integer value) {
            addCriterion("pro_tech_agreement >", value, "proTechAgreement");
            return (Criteria) this;
        }

        public Criteria andProTechAgreementGreaterThanOrEqualTo(Integer value) {
            addCriterion("pro_tech_agreement >=", value, "proTechAgreement");
            return (Criteria) this;
        }

        public Criteria andProTechAgreementLessThan(Integer value) {
            addCriterion("pro_tech_agreement <", value, "proTechAgreement");
            return (Criteria) this;
        }

        public Criteria andProTechAgreementLessThanOrEqualTo(Integer value) {
            addCriterion("pro_tech_agreement <=", value, "proTechAgreement");
            return (Criteria) this;
        }

        public Criteria andProTechAgreementIn(List<Integer> values) {
            addCriterion("pro_tech_agreement in", values, "proTechAgreement");
            return (Criteria) this;
        }

        public Criteria andProTechAgreementNotIn(List<Integer> values) {
            addCriterion("pro_tech_agreement not in", values, "proTechAgreement");
            return (Criteria) this;
        }

        public Criteria andProTechAgreementBetween(Integer value1, Integer value2) {
            addCriterion("pro_tech_agreement between", value1, value2, "proTechAgreement");
            return (Criteria) this;
        }

        public Criteria andProTechAgreementNotBetween(Integer value1, Integer value2) {
            addCriterion("pro_tech_agreement not between", value1, value2, "proTechAgreement");
            return (Criteria) this;
        }

        public Criteria andProCheckStatusIsNull() {
            addCriterion("pro_check_status is null");
            return (Criteria) this;
        }

        public Criteria andProCheckStatusIsNotNull() {
            addCriterion("pro_check_status is not null");
            return (Criteria) this;
        }

        public Criteria andProCheckStatusEqualTo(Integer value) {
            addCriterion("pro_check_status =", value, "proCheckStatus");
            return (Criteria) this;
        }

        public Criteria andProCheckStatusNotEqualTo(Integer value) {
            addCriterion("pro_check_status <>", value, "proCheckStatus");
            return (Criteria) this;
        }

        public Criteria andProCheckStatusGreaterThan(Integer value) {
            addCriterion("pro_check_status >", value, "proCheckStatus");
            return (Criteria) this;
        }

        public Criteria andProCheckStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("pro_check_status >=", value, "proCheckStatus");
            return (Criteria) this;
        }

        public Criteria andProCheckStatusLessThan(Integer value) {
            addCriterion("pro_check_status <", value, "proCheckStatus");
            return (Criteria) this;
        }

        public Criteria andProCheckStatusLessThanOrEqualTo(Integer value) {
            addCriterion("pro_check_status <=", value, "proCheckStatus");
            return (Criteria) this;
        }

        public Criteria andProCheckStatusIn(List<Integer> values) {
            addCriterion("pro_check_status in", values, "proCheckStatus");
            return (Criteria) this;
        }

        public Criteria andProCheckStatusNotIn(List<Integer> values) {
            addCriterion("pro_check_status not in", values, "proCheckStatus");
            return (Criteria) this;
        }

        public Criteria andProCheckStatusBetween(Integer value1, Integer value2) {
            addCriterion("pro_check_status between", value1, value2, "proCheckStatus");
            return (Criteria) this;
        }

        public Criteria andProCheckStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("pro_check_status not between", value1, value2, "proCheckStatus");
            return (Criteria) this;
        }

        public Criteria andDsnStatusIsNull() {
            addCriterion("dsn_status is null");
            return (Criteria) this;
        }

        public Criteria andDsnStatusIsNotNull() {
            addCriterion("dsn_status is not null");
            return (Criteria) this;
        }

        public Criteria andDsnStatusEqualTo(Integer value) {
            addCriterion("dsn_status =", value, "dsnStatus");
            return (Criteria) this;
        }

        public Criteria andDsnStatusNotEqualTo(Integer value) {
            addCriterion("dsn_status <>", value, "dsnStatus");
            return (Criteria) this;
        }

        public Criteria andDsnStatusGreaterThan(Integer value) {
            addCriterion("dsn_status >", value, "dsnStatus");
            return (Criteria) this;
        }

        public Criteria andDsnStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("dsn_status >=", value, "dsnStatus");
            return (Criteria) this;
        }

        public Criteria andDsnStatusLessThan(Integer value) {
            addCriterion("dsn_status <", value, "dsnStatus");
            return (Criteria) this;
        }

        public Criteria andDsnStatusLessThanOrEqualTo(Integer value) {
            addCriterion("dsn_status <=", value, "dsnStatus");
            return (Criteria) this;
        }

        public Criteria andDsnStatusIn(List<Integer> values) {
            addCriterion("dsn_status in", values, "dsnStatus");
            return (Criteria) this;
        }

        public Criteria andDsnStatusNotIn(List<Integer> values) {
            addCriterion("dsn_status not in", values, "dsnStatus");
            return (Criteria) this;
        }

        public Criteria andDsnStatusBetween(Integer value1, Integer value2) {
            addCriterion("dsn_status between", value1, value2, "dsnStatus");
            return (Criteria) this;
        }

        public Criteria andDsnStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("dsn_status not between", value1, value2, "dsnStatus");
            return (Criteria) this;
        }

        public Criteria andDsnTimeIsNull() {
            addCriterion("dsn_time is null");
            return (Criteria) this;
        }

        public Criteria andDsnTimeIsNotNull() {
            addCriterion("dsn_time is not null");
            return (Criteria) this;
        }

        public Criteria andDsnTimeEqualTo(Date value) {
            addCriterion("dsn_time =", value, "dsnTime");
            return (Criteria) this;
        }

        public Criteria andDsnTimeNotEqualTo(Date value) {
            addCriterion("dsn_time <>", value, "dsnTime");
            return (Criteria) this;
        }

        public Criteria andDsnTimeGreaterThan(Date value) {
            addCriterion("dsn_time >", value, "dsnTime");
            return (Criteria) this;
        }

        public Criteria andDsnTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("dsn_time >=", value, "dsnTime");
            return (Criteria) this;
        }

        public Criteria andDsnTimeLessThan(Date value) {
            addCriterion("dsn_time <", value, "dsnTime");
            return (Criteria) this;
        }

        public Criteria andDsnTimeLessThanOrEqualTo(Date value) {
            addCriterion("dsn_time <=", value, "dsnTime");
            return (Criteria) this;
        }

        public Criteria andDsnTimeIn(List<Date> values) {
            addCriterion("dsn_time in", values, "dsnTime");
            return (Criteria) this;
        }

        public Criteria andDsnTimeNotIn(List<Date> values) {
            addCriterion("dsn_time not in", values, "dsnTime");
            return (Criteria) this;
        }

        public Criteria andDsnTimeBetween(Date value1, Date value2) {
            addCriterion("dsn_time between", value1, value2, "dsnTime");
            return (Criteria) this;
        }

        public Criteria andDsnTimeNotBetween(Date value1, Date value2) {
            addCriterion("dsn_time not between", value1, value2, "dsnTime");
            return (Criteria) this;
        }

        public Criteria andOrderNoIsNull() {
            addCriterion("order_no is null");
            return (Criteria) this;
        }

        public Criteria andOrderNoIsNotNull() {
            addCriterion("order_no is not null");
            return (Criteria) this;
        }

        public Criteria andOrderNoEqualTo(Integer value) {
            addCriterion("order_no =", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoNotEqualTo(Integer value) {
            addCriterion("order_no <>", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoGreaterThan(Integer value) {
            addCriterion("order_no >", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoGreaterThanOrEqualTo(Integer value) {
            addCriterion("order_no >=", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoLessThan(Integer value) {
            addCriterion("order_no <", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoLessThanOrEqualTo(Integer value) {
            addCriterion("order_no <=", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoIn(List<Integer> values) {
            addCriterion("order_no in", values, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoNotIn(List<Integer> values) {
            addCriterion("order_no not in", values, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoBetween(Integer value1, Integer value2) {
            addCriterion("order_no between", value1, value2, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoNotBetween(Integer value1, Integer value2) {
            addCriterion("order_no not between", value1, value2, "orderNo");
            return (Criteria) this;
        }

        public Criteria andProCostTypeIsNull() {
            addCriterion("pro_cost_type is null");
            return (Criteria) this;
        }

        public Criteria andProCostTypeIsNotNull() {
            addCriterion("pro_cost_type is not null");
            return (Criteria) this;
        }

        public Criteria andProCostTypeEqualTo(Integer value) {
            addCriterion("pro_cost_type =", value, "proCostType");
            return (Criteria) this;
        }

        public Criteria andProCostTypeNotEqualTo(Integer value) {
            addCriterion("pro_cost_type <>", value, "proCostType");
            return (Criteria) this;
        }

        public Criteria andProCostTypeGreaterThan(Integer value) {
            addCriterion("pro_cost_type >", value, "proCostType");
            return (Criteria) this;
        }

        public Criteria andProCostTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("pro_cost_type >=", value, "proCostType");
            return (Criteria) this;
        }

        public Criteria andProCostTypeLessThan(Integer value) {
            addCriterion("pro_cost_type <", value, "proCostType");
            return (Criteria) this;
        }

        public Criteria andProCostTypeLessThanOrEqualTo(Integer value) {
            addCriterion("pro_cost_type <=", value, "proCostType");
            return (Criteria) this;
        }

        public Criteria andProCostTypeIn(List<Integer> values) {
            addCriterion("pro_cost_type in", values, "proCostType");
            return (Criteria) this;
        }

        public Criteria andProCostTypeNotIn(List<Integer> values) {
            addCriterion("pro_cost_type not in", values, "proCostType");
            return (Criteria) this;
        }

        public Criteria andProCostTypeBetween(Integer value1, Integer value2) {
            addCriterion("pro_cost_type between", value1, value2, "proCostType");
            return (Criteria) this;
        }

        public Criteria andProCostTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("pro_cost_type not between", value1, value2, "proCostType");
            return (Criteria) this;
        }

        public Criteria andDsnIssueStatusIsNull() {
            addCriterion("dsn_issue_status is null");
            return (Criteria) this;
        }

        public Criteria andDsnIssueStatusIsNotNull() {
            addCriterion("dsn_issue_status is not null");
            return (Criteria) this;
        }

        public Criteria andDsnIssueStatusEqualTo(Integer value) {
            addCriterion("dsn_issue_status =", value, "dsnIssueStatus");
            return (Criteria) this;
        }

        public Criteria andDsnIssueStatusNotEqualTo(Integer value) {
            addCriterion("dsn_issue_status <>", value, "dsnIssueStatus");
            return (Criteria) this;
        }

        public Criteria andDsnIssueStatusGreaterThan(Integer value) {
            addCriterion("dsn_issue_status >", value, "dsnIssueStatus");
            return (Criteria) this;
        }

        public Criteria andDsnIssueStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("dsn_issue_status >=", value, "dsnIssueStatus");
            return (Criteria) this;
        }

        public Criteria andDsnIssueStatusLessThan(Integer value) {
            addCriterion("dsn_issue_status <", value, "dsnIssueStatus");
            return (Criteria) this;
        }

        public Criteria andDsnIssueStatusLessThanOrEqualTo(Integer value) {
            addCriterion("dsn_issue_status <=", value, "dsnIssueStatus");
            return (Criteria) this;
        }

        public Criteria andDsnIssueStatusIn(List<Integer> values) {
            addCriterion("dsn_issue_status in", values, "dsnIssueStatus");
            return (Criteria) this;
        }

        public Criteria andDsnIssueStatusNotIn(List<Integer> values) {
            addCriterion("dsn_issue_status not in", values, "dsnIssueStatus");
            return (Criteria) this;
        }

        public Criteria andDsnIssueStatusBetween(Integer value1, Integer value2) {
            addCriterion("dsn_issue_status between", value1, value2, "dsnIssueStatus");
            return (Criteria) this;
        }

        public Criteria andDsnIssueStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("dsn_issue_status not between", value1, value2, "dsnIssueStatus");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}